<?php
// 随机获取字符串函数
function get_str($length = 1)
{
    $chars = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'; //字符库
    $s = str_shuffle($chars); //随机打乱字符串
    $str = substr($s, 0, $length); // 截取字符串
    return $str;
}
// 分别生成四个字符串
$code1 = get_str();
$code2 = get_str();
$code3 = get_str();
$code4 = get_str();
// 创建图片的宽高
$width = 80;
$height = 34;
// 创建画布
$img = imagecreatetruecolor($width, $height);
// 设置背景色
$bgColor = imagecolorallocate($img, 238, 238, 238);
// 绘制图片背景 
imagefilledrectangle($img, 0, 0, $width, $height, $bgColor);
// 设置字体颜色
// $textColor1 = imagecolorallocate($img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));  //随机字体颜色
$textColor = imagecolorallocate($img, 255, 0, 0);
//引入字体文件
$font = 'D:/admin/assets/fonts/OpenSans-Light.ttf';
// 设置字体旋转角度及出现的位置
imagettftext($img, 16, mt_rand(-30, 30), 5, 26, $textColor, $font, $code1);
imagettftext($img, 16, mt_rand(-30, 30), 20, 26, $textColor, $font, $code2);
imagettftext($img, 16, mt_rand(-30, 30), 40, 26, $textColor, $font, $code3);
imagettftext($img, 16, mt_rand(-30, 30), 60, 26, $textColor, $font, $code4);
// 绘制点状元素
for ($i = 0; $i < 25; $i++) {
    imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, 255));
}
// 绘制一些线像素
for ($i = 0; $i < 3; $i++) {
    imageline($img, mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, 255));
}
// 开启session会话
session_start();
// 注册会话变量
$_SESSION['imgcode'] = $code1.$code2.$code3.$code4;
// 设置头信息 => 声明内容属于图片
header('Content-Type:image/png');
// 输出图片
imagepng($img);
